package com.capgemini.simpleappblanche.services;

import java.util.List;

import com.capgemini.simpleappblanche.dto.CustomerDto;
import com.capgemini.simpleappblanche.dto.SearchCustomerCriteria;

/**
 * Manage customer service
 * @author jcdorchies
 *
 */
public interface ICustomerService {
	
	/**
	 * find list of customer by criteria
	 * @param criteria criteria
	 * @param nbElement nb of element to get
	 * @return list of customer
	 */
	List<CustomerDto> findByCriteria(final SearchCustomerCriteria criteria,final int nbElement);

	/**
	 * find customer by id
	 * @param id of customer
	 * @return customer
	 */
	CustomerDto findById(final long id);
	
	/**
	 * save customer
	 * @param customer customer to save
	 * @return saved customer
	 */
	CustomerDto save(final CustomerDto customer);

}
